/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.credsoft.copcred.model.vo;

import java.util.LinkedList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

/**
 *
 * @author Sales
 * @since 2009-07-16
 */
@Entity
@Table(name = "parceiro")
@PrimaryKeyJoinColumn(name = "parceiro_id")
public class Parceiro extends EntidadeFinanceira {

    private static final long serialVersionUID = 3321812790797479294L;
    private String endereco;
    private List<Proposta> propostas;

    public Parceiro() {
        super();
        this.propostas = new LinkedList<Proposta>();
    }

    public Parceiro(Long id) {
        super(id);
    }

    public Parceiro(Long id, String nome, String cnpj, String endereco) {
        super(id, nome, cnpj);
        this.endereco = endereco;
    }

    @Column(name = "endereco", nullable = false)
    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    @OneToMany(targetEntity = Proposta.class, mappedBy = "parceiro")
    public List<Proposta> getPropostas() {
        return propostas;
    }

    public void setPropostas(List<Proposta> propostas) {
        this.propostas = propostas;
    }

    public void addProposta(Proposta proposta) {
        this.propostas.add(proposta);
    }

    public void removeProposta(Proposta proposta) {
        this.propostas.remove(proposta);
    }
}
